<?php
namespace App;

use App\Observers\SmbmsObserver;

// 使用User模型来继承，可以使用Auth
use Illuminate\Foundation\Auth\User;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;


class UserSmbms extends User{
    
    // use Notifiable;
    // $2y$10$3KcCThGhk3EJfN534ZiUveIKtYihU4VuBiIq3NwJ5UhkdZDLqXGOS
    const SEX_UN=NULL;
    const SEX_GIRL="1";
    const SEX_BOY="2";

    protected $primaryKey = 'id';

    protected $table ="smbms_user";

    protected $guard = 'UserSmbms';

    // protected $fillable = [
    //     'userName', 'password'
    //   ];
    protected $hidden = [
        'password', 'remember_token',
    ];

    // 设置create()函数的黑名单
    // 赋值空数组代表所有的属性都能使用create函数保存数据
    protected $guarded=[];

    public $timestamps=true;
    // 添加模型事件属性
    protected $dispatchesEvents=[
        // 为该模型类的creating事件添加自定义事件类
        "creating"=>SmbmsObserver::class
    ];

    protected function getDateForm(){

        return time();
    }

    protected function asDateForm($val){
        
        return $val;
    }

    public function sex($ind=null){

        $sexArr=[
            self::SEX_UN=>"人妖",
            self::SEX_GIRL=>"女",
            self::SEX_BOY=>"男"
        ];

        // 判断传进来的数值是否存在的键是否存在于上面性别对应数组中
        if($ind!=null){
            return array_key_exists($ind,$sexArr)?$sexArr[$ind]:$sexArr[self::SEX_UN];
        }
        return $sexArr;
    }
}